home *** CD-ROM | disk | FTP | other *** search
/ Aminet 50 / Aminet 50 (2002)(GTI - Schatztruhe)[!][Aug 2002].iso / Aminet / text / edit / tecoc-146.lha / exet.c < prev    next >
C/C++ Source or Header  |  1991-07-05  |  2KB  |  61 lines

  1. /*****************************************************************************
  2.  
  3.     ExeT()
  4.  
  5.     This function executes a T command.
  6.  
  7.     nT    Type n lines
  8.     m,nT    Type from m to n
  9. *****************************************************************************/
  10.  
  11. #include "zport.h"        /* define portability identifiers */
  12. #include "tecoc.h"        /* define general identifiers */
  13. #include "defext.h"        /* define external global variables */
  14. #include "dchars.h"        /* define identifiers for characters */
  15.  
  16. DEFAULT ExeT()                /* execute T command */
  17. {
  18.     DBGFEN(1,"ExeT",NULL);
  19.     if (EStTop == EStBot) {            /* if no numeric argument */
  20.         NArgmt = 1;            /* default is 1T */
  21.     } else {
  22.         UMinus();            /* if it's -T, make it -1T */
  23.         if (GetNmA() == FAILURE) {    /* get numeric argument */
  24.             DBGFEX(1,DbgFNm,"FAILURE");
  25.             return FAILURE;
  26.         }
  27.     }
  28.  
  29.     if (CmdMod & MARGIS) {            /* if it's m,nT */
  30.         if (NArgmt != MArgmt) {
  31.             MEMMOVE(ErrTxt, "m,nT", 5);
  32.             if (GetAra() == FAILURE) {
  33.                 DBGFEX(1,DbgFNm,"FAILURE");
  34.                 return FAILURE;
  35.             }
  36.  
  37. /*
  38.  * if the area to type out is split by the buffer gap,  we have to display
  39.  * each half separately.
  40.  */
  41.  
  42.             if ((AraBeg < GapBeg) && (AraEnd > GapEnd)) {
  43.                 TypBuf(AraBeg, GapBeg);
  44.                 TypBuf(GapEnd+1, AraEnd+1);
  45.             } else {
  46.                 TypBuf(AraBeg, AraEnd+1);
  47.             }
  48.         }
  49.     } else {                    /* else it's nT */
  50.         if (NArgmt <= 0) {
  51.             TypBuf(GapBeg+Ln2Chr(NArgmt), GapBeg);
  52.         } else {
  53.             TypBuf(GapEnd+1, GapEnd+Ln2Chr(NArgmt)+1);
  54.         }
  55.     }
  56.     CmdMod = '\0';                /* clear modifiers flags */
  57.  
  58.     DBGFEX(1,DbgFNm,"SUCCESS");
  59.     return SUCCESS;
  60. }
  61.